<template>
  <div class="todo-header">
    <input
      type="text"
      placeholder="请输入你的任务名称，按回车键确认"
      v-model="title"
      @keyup.enter="addBehavior"
    />
  </div>
</template>

<script>
export default {
  // eslint-disable-next-line vue/multi-word-component-names
  name: "AddBehavior",
  data() {
    return {
      title: "",
    };
  },
  methods: {
    //输入回车触发，event获取到输入的数据
    addBehavior(event) {
      if (!this.title.trim()) {
        return alert("输入不能为空");
      }
      //1——将用户的输入包装成一个todo对象，一般id是后端生成不用传输
      const newTodoObj = {
        id: Math.random().toString(36),
        title: event.target.value,
        done: false,
      };
      //2——改动，调用父组件的【自定义事件】添加数据
      this.$emit("addTodo", newTodoObj);
      //传递对象之后清空输入框
      this.title = null;
    },
  },
};
</script>

<style scoped>
/*header*/
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}
</style>

